def a(fn):
    print ('a')
 
    def d(st):
        print ("--------------------------------")
        print (st + 'd')#st在这个函数中的生命周期已经结束
 
    return d
 
 
def b(fn):
    print ('b')
    return fn
def e(fn):
    print('e')
    return fn
@b
@a
@e
def c(st):
    print ("********************************")
    print (st)#这里是执行b、a，同时定义c
 
#下面是连续执行c函数三次，无视修饰符。
print ("test")

 
